Method for tracking stock level within a store

ABSTRACT

One variation of a method for tracking stock level within a store includes: at a robotic system, navigating along a first inventory structure in the store, broadcasting radio frequency interrogation signals according to a first set of wireless scan parameters, and recording a first set of wireless identification signals returned by radio frequency identification tags coupled to product units arranged on the first inventory structure; generating a first list of product units arranged on the first inventory structure based on the first set of wireless identification signals; detecting a first product quantity difference between the first list of product units and a first target stock list assigned to the first inventory structure by a planogram of the store; and generating a stock correction prompt for the first inventory structure in response to the first product quantity difference.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 15/947,757, filed on 6 Apr. 2018, which claims thebenefit of U.S. Provisional Application No. 62/482,907, filed on 7 Apr.2017, each of which is incorporated in its entirety by this reference.

The application is related to U.S. patent application Ser. No.15/347,689, filed on 9 Nov. 2016, and U.S. patent application Ser. No.15/600,527, filed on 19 May 2017, both of which are incorporated intheir entireties by this reference

TECHNICAL FIELD

This invention relates generally to the field of stock tracking and morespecifically to a new and useful method for tracking stock level withina store in the field of stock tracking.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a flowchart representation of a method;

FIG. 2 is a graphical representation of one variation of the method; and

FIG. 3 is a flowchart representation of one variation of the method;

FIG. 4 is a flowchart representation of one variation of the method

FIG. 5 is a flowchart representation of one variation of the method

FIG. 6 is a flowchart representation of one variation of the method; and

FIG. 7 is a flowchart representation of one variation of the method.

DESCRIPTION OF THE EMBODIMENTS

The following description of embodiments of the invention is notintended to limit the invention to these embodiments but rather toenable a person skilled in the art to make and use this invention.Variations, configurations, implementations, example implementations,and examples described herein are optional and are not exclusive to thevariations, configurations, implementations, example implementations,and examples they describe. The invention described herein can includeany and all permutations of these variations, configurations,implementations, example implementations, and examples.

1. Method

As shown in FIGS. 1 and 2, a method S100 for tracking stock level withina store includes: dispatching a robotic system to execute scan routinesat a set of waypoints proximal inventory structures throughout the storein Block Silo; over a first period of time at a robotic system,navigating along a first inventory structure in the store, broadcastingradio frequency interrogation signals according to a first set ofwireless scan parameters, and recording a first set of wirelessidentification signals returned by radio frequency identification tagscoupled to product units arranged on the first inventory structure inBlock S120; generating a first list of product units arranged on thefirst inventory structure based on the first set of wirelessidentification signals in Block S130; in response to a differencebetween the list of product units and a first target stock list assignedto the first inventory structure by a planogram of the store, defining asecond set of wireless scan parameters differing from the first set ofwireless scan parameters in Block S140; over a second period of timesucceeding the first period of time at the robotic system, navigatingalong the first inventory structure, broadcasting radio frequencyinterrogation signals according to the second set of wireless scanparameters, and recording a second set of wireless identificationsignals returned by radio frequency identification tags coupled toproduct units arranged on the first inventory structure in Block S150;generating a second list of product units arranged on the firstinventory structure based on the second set of wireless identificationsignals in Block S132; and generating a digital report of productsstocked on the first inventory structure based on a combination of thefirst list of product units and the second list of product units inBlock S170.

One variation of the method S100 includes: at a robotic system, over afirst period of time, navigating along a first inventory structure inthe store, broadcasting radio frequency interrogation signals accordingto a first set of wireless scan parameters, and recording a first set ofwireless identification signals returned by radio frequencyidentification tags coupled to product units arranged on the firstinventory structure in Block S120; generating a first list of productunits arranged on the first inventory structure based on the first setof wireless identification signals in Block S130; detecting a firstproduct quantity difference between the first list of product units anda first target stock list assigned to the first inventory structure by aplanogram of the store in Block S160; and generating a stock correctionprompt for the first inventory structure in response to the firstproduct quantity difference in Block S170.

Yet another variation of the method S100 includes: at a robotic system,over a first period of time, navigating along a first inventorystructure in the store, broadcasting radio frequency interrogationsignals according to a first set of wireless scan parameters, recordinga first set of wireless identification signals returned by radiofrequency identification tags coupled to product units arranged on thefirst inventory structure in Block S120, and recording a set of opticalimages of the first inventory structure in Block S122; generating afirst list of product units arranged on the first inventory structurebased on the first set of wireless identification signals in Block S130;identifying a second set of product units arranged on the firstinventory structure in the set of optical images in Block S122;detecting a first product quantity difference between the first list ofproduct units and a first target stock list assigned to the firstinventory structure by a planogram of the store in Block S160; detectinga first product location difference between locations of product units,in the second set of product units identified in the set of opticalimages, and product locations assigned to the first inventory structureby the planogram; and in response to the first product quantitydifference and the first product location difference, generating a stockcorrection prompt for the first inventory structure in Block S170.

2. Applications

Generally, Blocks of the method S100 can be executed by a system (e.g.,a robotic system and/or a local or remote computer system): to dispatcha robotic system to capture images of products arranged on shelvesthroughout a retail space (e.g., a sporting goods store, a clothingstore, a home improvement store, a grocery store, etc.); to determinethe stocking status of products assigned to inventory structures (e.g.,slots on shelves, hanging racks, cubbies, etc.) throughout the retailspace based on radio frequency identification (hereinafter “RFID”) datacollected from RFID tags arranged on or integrated into products stockedthroughout the retail space and based on a planogram defining productquantities and locations throughout the retail space; and toautomatically generate a stocking report for the retail space. Inparticular, the system can execute Blocks of the method S100 toautomatically: execute scan routines—to collect RFID data from productsstocked on inventory structures—at defined waypoints throughout theretail space according to initial scan parameters; to transform theseRFID data into product identifiers (e.g., stock-keeping units, or“SKUs”); to compare these product identifiers to product stockingspecifications assigned to inventory structures in the store by aplanogram; and to adjust these scan parameters and selectively repeatscan routines at certain waypoints according to these adjusted scanparameters if product identifiers collected during previous scanroutines at these waypoints do not sufficiently align to productstocking specifications defined by a planogram in order to collect RFIDvalues (or “wireless identification signals”) from RFID tags that mayhave been obscured during previous scan routines, thereby improvingaccuracy and completeness of a list of RFID values collected by therobotic system during a scan cycle though the retail space.

Therefore, Blocks of the method S100 can be executed by a single,low-cost mobile RFID inventorying infrastructure (e.g., the “roboticsystem”) to collect item-level RFID inventory data from productdistributed throughout a retail space, thereby reducing or eliminatingneed for installation of fixed power and network connection within aretail space for fixed RFID inventorying infrastructure and reducing oreliminating need to replace or modify existing fixed RFID inventoryinginfrastructure when layout or format of the retail space is changed.Rather, the robotic system can execute Blocks of the method S100 totraverse the retail space and to implement functionality of fixed RFIDinfrastructure in n-number of discrete locations (i.e., “waypoints”)throughout the retail space. Furthermore, the robotic system canimplement closed-loop controls to adjust scan parameters implemented atwaypoints throughout the store based on differences between actualproducts detected near these waypoints (e.g., as informed by RFIDcollected at these waypoints) and products expected to be stocked nearthese waypoints (i.e., as defined in a planogram of the retail space) inorder to achieve a high degree of completeness in RFID data collectedfrom RFID tags on products stocked throughout the retail space.Therefore, the robotic system can execute Blocks of the method S100 tomimic manual RFID scans of inventory structure throughout the retailspace but with added closed-loop controls that yield improved accuracyof collected RFID data, as well as known location and pose of therobotic system when RFID data is collected, which the robotic system (orthe computer system) can then merge with RFID data to reconstruct a 2Dor 3D map of RFID tag locations throughout store.

While executing RFID-based scans of the retail space, the robotic systemcan also collect digital photographic images (hereinafter “images”) ofinventory structure within the retail space and process these images todetermine presence and arrangement of units of products on theseinventory structure, as described in U.S. patent application Ser. No.15/347,689, filed on 9 Nov. 2016, which is incorporated in its entiretyby this reference. The robotic system (or the computer system) can thenimplement closed-loop controls to adjust RFID scan parameters until allproducts identified in images on adjacent inventory structures are alsodetected in RFID scans along the inventory structure. The robotic systemcan also merge images and/or image-based inventory data with RFID datacollected throughout the retail space to construct a comprehensivedigital report of the stock state of the retail space, such asincluding: product orientation and facing data from digital photographicimages; quantities of products otherwise visually obstructed from therobotic system (e.g., by other products on a shelf) based on RFID data;and quantities of other products visually accessible to the roboticsystem but contain or are packaged in materials (e.g., metal, liquid)that obscure radio frequency signals between these products and therobotic system based on these digital photographic images.

Therefore, the system can: include a robotic system that collects RFIDdata and/or digital photographic images of inventory structurethroughout a store; transform these RFID data and images into currentstock states of inventory structure throughout the store, such assubstantially in real-time; and generate a digital report of theinventory state of the store. In particular, sales data collectedthrough a point-of-sale (or “POS”) system in the store may not accountfor theft of product, damaged product, lost product, misplaced producton shelves, improper product facing orientation on shelves, or origin ofunit of product sold. (For example, a carbonated beverage may be stockedin 25 unique locations within a store, but sale of a unit of carbonatedbeverage at the POS may not indicate from which of these 25 uniquelocations the unit of carbonated beverage originated.) However, bydispatching the robotic system to collect images of shelves throughoutthe store, the system can: access real-time, on-floor inventoryincluding quantities of products via RFID data and/or productorientation and facings via optical data; detect “holes,” misplacedproduct, and low-stock slots throughout the store accordingly; and thenserve directed prompts to restock inventory structures in the store,such as in real-time or during scheduled restocking periods. The systemcan therefore implement the method S100 to: eliminate a need forassociates to take manual inventory of the store, such as by waving anRFID wand over inventory structures; and automatically generate a globalinventory state and/or a global restocking list for the store; whilealso eliminating the need for fixed RFID scanning inventory systems; andaccommodate format and layout changes of inventory structure in thestore without necessitating changes to power or network infrastructurewithin the store.

(The system can similarly execute Blocks of the method S100 S100 toimplement perpetual inventory techniques to account for changinginventory in the store by recording (near) real-time changes in productstock on shelves throughout the store, such as to account for productunits that are lost, damaged, stolen, misplaced, or not shelved.)

3. Robotic System

During a scan cycle, a robotic system navigates to waypoints—handled bythe system according to Blocks of the method S100 described below—andexecutes a scan routine to capture RFID data and/or images of inventorystructures in the store at each of these waypoints. Generally, therobotic system can define a network-enabled mobile robot that canautonomously traverse a store, capture radio frequency identificationand/or optical data, and upload those RFID and optical data to acomputer system for analysis according to methods and techniquesdescribed below, as shown in FIG. 3.

Alternatively, the robotic system can analyze these RFID and opticaldata locally. Furthermore, the computer system is described herein asdefining waypoints—including RFID interrogation parameters, imagingparameters, and robotic system orientations—throughout the store, andthe robotic system is described herein as sequentially navigating tothese waypoints and executing RFID interrogation parameters and imagingparameters defined by these waypoints. However, the computer system canalternatively define a continuous scan path along a shelving segment, ashelving structure, an aisle, a set of inventory structures, orthroughout the entire store with fixed or varying (e.g., parametric ornon-parametric) RFID interrogation and imaging parameters; and therobotic system can navigate along this continuous scan path whilebroadcasting an RFID interrogation signal, recording RFID valuesreturned by RFID tags nearby, and/or recording optical (e.g., digitalphotographic) images substantially continuously along this path.

In one implementation shown in FIG. 3, the robotic system defines anautonomous vehicle including: a base; a drive system (e.g., a pair oftwo driven wheels and four swiveling castors) arranged in the base; apower supply (e.g., an electric battery); a set of mapping sensors(e.g., fore and aft LIDAR scanning systems); a processor that transformsdata collected by the mapping sensors into two- or 3D maps of a spacearound the robotic system; a mast extending vertically from the base; aset of cameras arranged on the mast (e.g., a set of seven color camerasarranged on the right side of the mast, each outfitting with zoom andautofocus capabilities); a geospatial position sensor (e.g., a GPSsensor); and/or a wireless communication module that downloads waypointsand a master map of a store from a computer system (e.g., a remoteserver) and that uploads RFID data and/or digital photographic imagescaptured by the camera and maps generated by the processor to thecomputer system.

The robotic system also includes an RFID antenna and an RFID reader thatcooperate to: broadcast an interrogation signal; and to collect anddiscern inbound RF signals broadcast from RFID tags excited by theinterrogation signal. In one variation, the robotic system includesmultiple RFID antennas. For example, the robotic system can include afirst RFID antenna arranged in a first polarization orientation at afirst position along the mast; and a second RFID antenna arranged in asecond polarization orientation at a second position along the mast. Inthis example, the second polarization orientation can be angularlyoffset from the first polarization orientation by a known angle (e.g.,90°) about a horizontal axis of the robotic system; and the secondposition can be vertically offset above the first position by a knowndistance (e.g., 50 centimeters). During a scan routine, the roboticsystem can: trigger both the first and second RFID antennas to broadcastinterrogation signals; collect RF signals through both the first andsecond RFID antennas; and compile these RF signals and related metadatainto a 2D or 3D map of locations of RFID tags—from which these RFsignals originated—based on known linear offsets between the first andsecond antennas. Furthermore, a particular RFID tag parallel to theplane of propagation of an interrogation signal broadcast by the firstantenna may not return an RF signal to the robotic system; however,because the second antenna is angularly offset from the first antenna,the particular RFID tag may be necessarily non-parallel to the plane ofpropagation of an interrogation signal broadcast by the second antenna.Therefore, the robotic system can include two (or more) non-parallelRFID antennas in order to enable collection of RF signals from a greaterproportion of nearby RFID tags, including RFID tags that may be obscuredfrom one RFID antenna in the set.

The robotic system can also include cameras mounted statically to themast, such as two vertically offset cameras on a left side of the mastand two vertically offset cameras on the right side of the mast, asshown in FIG. 3. The robotic system can additionally or alternativelyinclude articulable cameras, such as: one camera on the left side of themast and supported by a first vertical scanning actuator; and one cameraon the right side of the mast and supported by a second verticalscanning actuator. Furthermore, each camera can include a zoom lens or awide-angle lens, etc.

However, the robotic system can define any other form and can includeany other subsystems or elements supporting autonomous navigation andimage capture throughout a store environment.

4. Hierarchy and Terms

A “product facing” is referred to herein as a side of a product (e.g.,of a particular SKU or other product identifier) designated for a sloton an inventory structure described below. A “planogram” is referred toherein as a graphical representation, diagram, or model that indicatestarget placement of retail products on a shelving structure within astore. For example, a planogram of a store can be defined by a storemanager or corporate representative, stored in a database, and accessedby the computer system to execute Blocks of the method S100 S100.Alternatively, for a store in which a predefined planogram is notavailable, the computer system can cooperate with the robotic system tocollect RFID data (e.g., UPC values, EPC values) from RFID tags arrangedon retail products on shelves within the store, as described below, andthe computer system can (re)construct a planogram of shelves throughoutthe store based on these RFID data and product data linked to these RFIDdata; the system can then implement this “constructed” planogram todetect changes in stock level throughout the store over time.

A “realogram” is referred to herein as a collection of multipleplanograms representing multiple shelving structures within a store(e.g., across an entire store). Product identification, placement, andorientation data recorded visually in a planogram (or multipleplanograms) can also be recorded in a corresponding textual productplacement spreadsheet, slot index, or other store database (hereinaftera “product placement database”).

A “slot” is referred to herein as a section of a shelf designated foroccupation by one product facing, including a row of one or more unitsof a product. A “shelf” is referenced herein as one lateral surface(e.g., one four-foot-wide horizontal surface) spanning one or moreslots. A “shelving segment” is referred to herein as one column of ashelving structure, including one or more shelves. A “shelvingstructure” is referred to herein as a row of one or more shelvingsegments. An “aisle” is referred to herein as a thoroughfare between twoopposing shelving structures. A “store” is referred to herein as a(static or mobile) facility containing one or more shelving structuresand one or more aisles. Furthermore, an “inventory structure” isreferred to herein as a structure arranged within the store andconfigured to store one or more units of one or more products, such as:a shelving structure; a shelving unit; a set of (e.g., one or more)slots; a wall rack; a freestanding rack (e.g., hanging clothing rack); aset of cubbies; a floor refrigeration unit; or a table; etc.

A “product” is referred to herein as a type of good associated with aparticular product identifier (e.g., a “SKU,” an “EPC,” or a “UPC”). A“unit” or “product unit” is referred to herein as an instance of aproduct, such as one packaged article associated with one SKU value. An“address” is referred to herein as a pointer to a corresponding aisle,shelving structure, shelving segment, shelf, slot and/or other datastored in a planogram (or in a product position database, etc.) for thestore.

Various Blocks of the method S100 are described herein as executed by acomputer system (e.g., a remote server), while other Blocks of themethod S100 are described herein as executed by a robotic systemprovisioned to a store. However, various combinations of Blocks of themethod S100 can be executed locally by one or more robotic systemsplaced in a store (or a retail space, a warehouse, etc.), by a localcomputer system, or by any other local or computer system or device.

5. Robotic System Dispatch

Block Silo of the method S100 recites dispatching a robotic system toexecute scan routines at a set of waypoints proximal (or continuouslyalong) inventory structures throughout the store. Generally, in BlockSiio, a set of waypoints—each defining a location and orientation of therobotic system, initial RFID scan parameters, and/or initial opticalscan parameters, etc.—can be generated by the computer system and thenloaded onto the robotic system for execution in Block S120, such asshown in FIG. 4.

As described in U.S. patent application Ser. No. 15/347,689, thecomputer system can define a set of waypoints and an order of thesewaypoints throughout a store. For example, the computer system cangenerate a set of waypoints that each define a position (e.g., an (x, y)location) of the robotic system and an orientation of the robotic systemrelative to a coordinate system assigned to the store.

5.1 Auto-Configuration from Planogram

As in the examples described below, the computer system can leverage anexisting planogram of the store: to selectively designate an inventorystructure for RFID scanning and/or optical scanning; to set a speed, anRFID interrogation power, and a distance from the inventory structure atwhich the robotic system may interrogate RFID tags on product units onthis inventory structure during a scan cycle (or “cycle count”); and/orto specify positions and orientations at which the robotic system mayrecord optical images of the inventory structure through all or selectcameras in the robotic system during a scan cycle. More specifically,the system can automatically configure initial RFID and/or optical scanparameters for an inventory structure in the store based on data storedin the planogram before the robotic system executes a first scan cycle(or “first cycle count”) in the store (or before the robotic systemexecutes a first scan cycle in the store after the store is reconfiguredor otherwise rearranged), such as shown in FIGS. 4 and 5.

In one implementation, the computer system: aggregates a target stocklist of product units (e.g., SKUs) assigned to an inventory structure bythe current planogram of the store; and queries a product database todetermine which products in the target stock list are known to haveintegrated RFID tags or RFID tags incorporated into product packaging,such as for current versions of these products and versions of theseproducts up to six months of age. In this implementation, if at leastone product assigned to the inventory structure is thus determined toincorporate an RFID tag, the computer system can specify that therobotic system interrogate the entire length of the inventory structure,segments of the inventory structure containing these RFID-taggedproducts, or singular slots of the inventory structure containing theseRFID-tagged products. The robotic system can thus collect identifyinginformation—including product quantity and approximate location—fromthese RFID-tagged products arranged on this inventory structure whileexecuting a scan cycle in the store. The robotic system can also recordoptical images of the inventory structure during this scan cycle. Thecomputer system can then merge both optical and RFID data recorded bythe inventory structure during this scan cycle—as described below—to:estimate the quantities of products not tagged with RFID tags from theseoptical data; to confirm quantities of RFID-tagged products from theseRFID data; and to characterize orderliness of the inventory structurefrom these optical data.

However, if the computer system determines that no product assigned tothe inventory structure includes an RFID tag, the computer system canspecify that the robotic system record optical images of the inventorystructure exclusively rather than broadcast an RFID interrogation signalwhile traversing along this inventory structure; the computer system canthus rely exclusively on optical data recorded by the robotic systemwhile traveling along the inventory structure to estimate the quantityof products—not tagged with RFID tags—on this inventory structure and tocharacterize orderliness of this inventory structure.

Alternatively, the robotic system can record optical images of theinventory structure, broadcast RFID interrogation signals, and recordany returned RFID values (and other metadata) by default whiletraversing a path along the inventory structure during a scan cycle. Bycollecting these RFID data—even despite absence of an RFID-taggedproduct assigned to the inventory structure—while traversing a pathalong an inventory structure, the robotic system can thus enable thecomputer system to: detect and track the inventory structure if taggedwith its own RFID tag; track other RFID-tagged infrastructure arrangednearby; and detect RFID-tagged products improperly placed on theinventory structure at the time of the scan cycle.

Once the inventory structure (or a particular segment or specific slotof the inventory structure) is thus designated for RFID interrogation bythe robotic system during a scan cycle, the computer system can alsocalculate an offset distance for the robotic system to the inventorystructure and an interrogation power for the robotic system. Forexample, the computer system can set a minimum offset distance from therobotic system to the inventory structure that locates products on thetop shelf and the bottom shelf of the adjacent inventory structurewithin the field of view of a RFID antenna on the robotic system, suchas given a known arrangement of RFID antenna on the robotic system. Foreach section of the inventory structure, the system can then set aninterrogation power at which an interrogation signal broadcast by therobotic system may sufficiently power RFID-tagged products—across thefull height of the inventory structure—to return RFID values to therobotic system given the calculated offset distance. To calculateinterrogation power at each section of the inventory structure, thecomputer system can also account for a density of RFID-tagged productsassigned to this section of the inventory structure, a material ordensity of products assigned to the section of the inventory structure,and/or a material or layout of the inventory structure (e.g., metalshelves, wood-product display panel) that may affect propagation ofradio signals between the robotic system and RFID-tagged products. Thecomputer system can additionally or alternatively calculate a maximuminterrogation power at which the robotic system may not receive RFIDvalues from RFID-tagged products on an adjacent inventory structure—suchas given the offset distance and known positions of inventory structuresthroughout the store—thereby enabling the robotic system to interrogateRFID tags arranged on a single inventory structure at a given time toreduce RFID value collisions while scanning a single inventorystructure. Similarly, the computer system can implement parametricmodels to calculate an offset distance from the robotic system to theinventory structure and a matching interrogation power for scanning aninventory structure based on any of the foregoing parameters.

With the offset distance and interrogation power thus set for theinventory structure, the computer system can also set a scan speed andan interrogation frequency for the inventory structure, such asinversely proportional to a density of RFID-tagged products assigned tothe inventory structure and inversely proportional to the interrogationpower assigned to the inventory structure.

Furthermore, in the variation described below in which the roboticsystem records optical images of the inventory structure—from which thecomputer system may detect product units excluding RFID tags and/ortrack orderliness of product units on the inventory structure—thecomputer system can: set an offset distance from the robotic system tothe inventory structure based on a height of the inventory structure(e.g., stored in the planogram) and characteristics of cameras on therobotic system in order to locate the full height of the inventorystructure within the fields of view of cameras in the robotic system;and then set an RFID interrogation power, RFID frequency, and scan speedof the robotic system along the inventory structure based on thisimage-based offset distance.

However, the system can implement any other methods or techniques tocalculate initial RFID scan parameters for the inventory structure. Therobotic system can thus calculate initial RFID scan parameters for theinventory structure based on data stored in the planogram of the store.Later, the robotic system can implement these initial RFID scanparameters when scanning the inventory structure during a first scancycle inside the store. Based on data collected by the robotic systemduring this scan cycle, the robotic system and/or the computer systemcan modify RFID interrogation powers, an offset distance from theinventory structure, a scan speed along the inventory structure, and/ora scan frequency along the inventory structure, etc. in order to improveinventory accuracy for the inventory structure and inventorying speed ofthe robotic system.

The computer system can implement these methods to calculate initialRFID scan parameters for each other inventory structure in the storebased on data stored in the planogram of the store. The robotic systemand the computer system can similarly cooperate to modify these RFIDscan parameters for each inventory structure in the store based on RFIDdata collected by the robotic system during a scan cycle in the store.

5.2 Waypoints

In one implementation, the system can define an ordered set of waypointsthroughout the store and can write RFID (and optical) scan parameters toeach waypoint. When generating waypoints for the store, the computersystem can offset waypoints from an inventory structure of interest,define a density of waypoints along the inventory structure of interest,and set an initial interrogation signal power level based on: the typeof the inventory structure; based on proximity to other inventorystructures; based on product types assigned to the inventory structureof interest by the planogram; etc.

For example, if the planogram indicates that a region of an inventorystructure is populated with products containing metal or wrapped withmetallic packaging, the computer system can flag waypoints adjacent thisregion of the inventory structure for optical scans only. In anotherexample, if the planogram indicates that a region of an inventorystructure is populated with products containing thick or dense material(e.g., jeans, a box of dry laundry detergent, bottled beverages), thecomputer system can define a higher density of waypoints nearer thisregion of the inventory structure and set an elevated default outputpower level for these waypoints in order to ensure sufficient power ofinterrogation signals reaching RFID tags near these waypoints givenmaterials and densities of products in this region of the inventorystructure. In yet another example, if the planogram indicates thatanother inventory structure is particularly close to the inventorystructure of interest, the robotic system can define waypoints nearerthe inventory structure of interest and set a reduced initial outputpower level for these waypoints in order to prevent interrogationsignals broadcast at these waypoints from bleeding into RFID tagsarranged on product placed on this nearby inventory structure. Inanother example, if the planogram indicates that an inventory structureof interest is metallic (e.g., steel) and/or that a high density ofproducts is stocked on this inventory structure, the computer system canset a higher initial output power level for waypoints along thisinventory structure in order to ensure sufficient power of interrogationsignals reaching RFID tags given the material of the inventory structureand the anticipated density of products on the inventory structure.

In another example, the computer system can identify an inventorystructure as located along a shoe aisle and determine that boxes ofshoes are stocked in cubbies in the inventory structure based on datacontained in a planogram of the store. In this example, the computersystem can then define a set of waypoints centered along each column ofcubbies in the inventory structure and set a high output power level forinterrogation signals broadcast at each of these waypoints in order toensure that RFID tags—integrated into soles of shoes stocked in thesecubbies—are sufficiently powered to broadcast RF signals back to therobotic system occupying these waypoints. In a similar example, thecomputer system can: determine that an inventory structure represents ahanging clothing rack stocked with hanging shirts based on datacontained in the planogram of the store; then define a sequence ofwaypoints encircling the inventory structure; and specify a lower outputpower level for interrogation signals broadcast at each of thesewaypoints given lower density of materials between product stocked onthe inventory structure and the robotic system at each of thesewaypoints. In yet another example, the computer system can: identify aninventory structure stocked with canned goods based on the planogram ofthe store; label the inventory structure as unsuitable for an RFID scan;and label waypoints defined along this inventory structure with triggersfor optical scans only.

Therefore, the computer system can define a set of waypoints along (orencircling) inventory structures throughout the store based on productand inventory structure data stored in a planogram of the store and canassociate each waypoint with a set of initial scan parameters. Inparticular, the computer system can label each waypoint with: an initiallinear and angular offset of (0,0,0°) from the original position andorientation specified by a waypoint; initial output power level of aninterrogation signal broadcast at the waypoint; and whether an RFID scanand/or an optical scan is to be performed at the waypoint; etc. However,the computer system can implement any other methods or techniques todefine a set of waypoints and initial scan parameters for each waypointfor the store.

The computer system can then upload these waypoints and initial scanparameters to the robotic system, such as over a wireless computernetwork connection.

5.3 Continuous Scanning

Alternatively, the computer system can define a continuous path along ashelving segment, a shelving structure, an aisle, a set of inventorystructures, or throughout the entire store with fixed or varying RFIDinterrogation (and imaging) parameters—such as parametric ornon-parametric offset distances, interrogation powers, robotic systemspeeds, and/or interrogation frequencies—along the continuous path.

6. Scan Cycle+Scan Routine

Block S120 of the method S100 recites, at the robotic system, accessinga first set of scan parameters, navigating to a first waypoint in theset of waypoints according to the first set of scan parameters,outputting a radio frequency interrogation signal according to the firstset of scan parameters, and collecting a first set of identificationsignals from RFID tags coupled to products arranged on a first inventorystructure adjacent the first waypoint. Generally, in Block S120, therobotic system navigates to a waypoint, orients itself to the waypoint,outputs an interrogation signal according to the initial scan parametersassociated with the waypoint, records inbound RF signals, (records oneor more images of an adjacent inventory structure if specified in theinitial scan parameters,) and then repeats this process for a nextwaypoint, such as according to a waypoint order set by the computersystem and until the autonomous vehicle has completed a scan routine ateach waypoint specified for the current scan cycle, as shown in FIGS. 1,4, and 6.

In one implementation, when executing a scan routine at a waypoint inthe specified in the current scan cycle, the robotic system: collectsinbound RF signals; isolates distinct RFID values (e.g., UUIDs) from theinbound RF signals; stores these RFID values in memory; and tags orotherwise links each RFID value with metadata. For example, the roboticsystem can tag an RFID value with: power of the corresponding inboundsignal; a time or time difference of arrival of the inbound RF signal;an identifier or known position and orientation of the RFID antenna thatreceived the inbound RF signal; a unique identifier of the waypoint atwhich the inbound RF signal was received; an actual position andorientation of the robotic system when the inbound RF signal wasreceived; a current time of day and date; a unique identifier of thestore; ID, etc.

6.1 Multiple Scan Routines Per Waypoint

In one variation, the robotic system executes multiple scan routines atunique positions and/or orientations at one waypoint. For example, for afirst waypoint, the robotic system can: execute a first scan routine, asdescribed above, at an initial linear and angular offset of (0,0,0°)from an original position and orientation and at an initial output powerlevel specified by the first waypoint; and then execute a second scanroutine at a second linear and angular offset of (0, −10 cm, +15°) fromthe original position and orientation and at an increased output powerlevel 5% greater than the initial output power level. As describedabove, the robotic system can tag each RFID value recorded during thefirst and second scan routine with relevant metadata, including theactual location and orientation of the robotic system during acorresponding scan routine and the output power level of thecorresponding interrogation signal.

In this variation, the robotic system can execute multiple scan routinesper waypoint, including adjusting one or more of: a linear offset froman original location defined by the waypoint (i.e., a distance from anadjacent inventory structure of interest); an angular offset from anoriginal orientation defined by the waypoint (i.e., an angular offsetfrom RFID tags coupled to product units on the adjacent inventorystructure); and output power level; etc. between scan routines at onewaypoint. By thus executing multiple scan routines according todifferent scan parameters at one waypoint, the autonomous vehicle canincrease probability that an interrogation signal broadcast by therobotic system at a waypoint will excite substantially all RFID tags onproduct units on the adjacent inventory structure, thereby ensuring thatthese RFID tags return RFID values to the robotic system and thusenabling the system can accurately record inventory on the inventorystructure.

Once the robotic system completes one or more scan routines at awaypoint, the robotic system can navigate to a next waypoint and repeatthis process for each other waypoint defined for the store.

7. Product Identification

Block S130 of the method S100 recites generating a list of product unitsarranged on the first inventory structure based on the first set ofidentification signals. Generally, in Block S130, the robotic system canoffload RFID values (e.g., UUIDs) collected during one or more scancycles to the computer system, such as via a wireless computer networkconnection, and the computer system can identify a product (e.g., a“SKU”) and related data corresponding to each of these RFID values. Forexample, in Block S130, the computer system can generate a list ofproduct units—including quantities of unique stock keeping units storedon the first inventory structure—from RF signals collected by therobotic system while traversing a path or waypoints along the inventorystructure based on associations between stock keeping units and uniquewireless identification signals stored in a name mapping system, asshown in FIGS. 1 and 4.

In one implementation, the robotic system uploads RFID values andrelated metadata to the computer system in real-time; for each RFIDvalue, the computer system passes the RFID value into a name mappingdatabase to retrieve a SKU and related data (e.g., a serial number, asupplier identifier, a date of manufacture, etc.) of a unit of productlinked to the RFID value. Alternatively, the robotic system can uploadRFID values and related metadata to the computer system once a scanroutine (i.e., one or more scan cycles at each waypoint defined for thestore) is complete, such as once the robotic system returns to its dockor once the robotic system reaches a location within the storeexhibiting (substantially) strongest wireless computer networkconnection.

Yet alternatively, the computer system can maintain a name mappingdatabase containing links between product data and RFID values forproducts known to be stocked in the store and can preload this namemapping database onto the robotic system prior to executing a scanroutine through the store; the robotic system can thus implement theforegoing methods and techniques to access SKU and other product datafor each RFID value collected during scan cycles executed throughout thestore.

8. RFID Tag Locations

In one variation shown in FIGS. 4 and 6, the method S100 furtherincludes: approximating locations of product units, in the first list ofproduct units, arranged on the first inventory structure based oncharacteristics of corresponding wireless identification signals in thefirst set of wireless identification signals in Block S132; detecting afirst product location difference between locations of product units, inthe first list of product units, and corresponding product locationsassigned to the first inventory structure by the planogram in BlockS162; and generating a second stock correction prompt for the firstinventory structure based on the first product location difference inBlock S170. Generally, in this variation, the system (e.g., the roboticsystem or the computer system) estimates locations in real space—such asrelative to the robotic system or within a virtual coordinate systemdefined for the store—at which RF signals received by the robotic systemduring a scan routine originated based on qualities of these RF signals.For example, the computer system can generate a multi-dimensional map oflocations of product units arranged on an inventory structure based on:strengths of RF signals received by RFID antennas in the robotic system;phase (e.g., time) offset of identical RF signals received by multipleoffset RFID antennas in the robotic system; a known location orfootprint of the inventory structure within the store relative to thevirtual coordinate system; a known location of the robotic systemrelative to the virtual coordinate system when these RF signals werereceived, such as in real-time during the scan cycle or asynchronouslyonce the robotic system completes the scan cycle.

In one implementation, the system implements angle of arrival (e.g.,time of arrival), phase (e.g., time difference of arrival), RSSI (e.g.,signal strength), or other techniques to transform metadata stored witha first RFID value into a distance from an RFID antenna in the roboticsystem that received the corresponding RF signal to an RFID tag thattransmitted the first RF signal during a first scan cycle at a firstwaypoint. The robotic system includes multiple RFID antennas and canreceive this RF signal from the first RFID tag at multiple RFIDantennas. Therefore, the system can: implement the foregoing process tocalculate distance between these multiple RFID antennas and the firstRFID at the first waypoint; and then triangulate a 2D or 3D position ofthe first RFID tag relative to the virtual coordinate system defined forthe store based on the actual location and orientation of the roboticsystem during the first scan cycle and known offset distances and anglesbetween RFID antennas in the robotic system. The system can alsocalculate distances between the RFID antennas and the first RFID tagbased on receipt of the corresponding RF signal from the first RFID tagduring other scan cycles at the same or adjacent waypoints and thentriangulate the 2D or 3D position of the first RFID tag relative to thevirtual coordinate system further based on these additional distancesand known locations and orientations of the robotic system at duringthese other scan cycles.

Therefore, the system can localize the first RFID tag to a discretevolume in real space in the store, such as to within a one-square-meteror one-square-foot plan area or to within a one-cubic- or one-cubic-footvolume defined relative to the virtual coordinate system assigned to thestore. The system can repeat this process for each other RF signalreceived during scan cycles at a waypoint to construct a virtual 2D planor 3D volume of locations of RFID tags near the waypoint. The system canthen stitch 2D plans or 3D volumes of locations of RFID tags generatedfor each of multiple waypoints into a 2D plan or 3D volume of locationsof RFID tags throughout the entire store.

In this variation, the system can also confirm that an RFID valuereceived by the robotic system originated at an RFID tag on (or in) aproduct unit currently occupying a known inventory structure—rather thana shoppers' cart or basket or a floor of the store. For example, for aparticular wireless identification signal received by the robotic systemwhen occupying both a first position adjacent the inventory structureand a second position adjacent the first inventory structure during thefirst period of time, the system can triangulate a particular locationof the particular product unit within the virtual coordinate systemdefined for the store based on the first position and the secondposition of the robotic system when this particular wirelessidentification signal was received. In this example, the system can thendetermine (or confirm) occupation of the particular product unit on thisinventory structure in response to the particular location of theparticular product unit intersecting a known volume of the firstinventory structure, also defined in the virtual coordinate system.

However, the system (e.g., the robotic system locally or the computersystem remotely) can locate RFID tags throughout the store in any otherway based on RFID values and related metadata collected during scancycles executed by the robotic system.

9. Inventory Structure Tracking

In one variation shown in FIG. 4, inventory structures throughout thestore are labeled with RFID tags or include integrated RFID tags loadedwith substantially unique identifiers. In this variation, the system cantrack types, configurations, and locations, etc. of these inventorystructures based on RFID values received by the robotic system during ascan cycle throughout the store.

For example, an interrogation signal broadcast by the robotic systemduring a scan cycle can excite both RFID tags arranged on product unitsand RFID tags arranged on inventory structures, shelves installed oninventory structures, product hangers attached to inventory structures,etc. Upon receipt of RFID values from RFID tags in the field, therobotic system can tag these RFID values with the robotic system'sposition and orientation in the store, power of RF signals carryingthese RFID values, and/or receipt times of these RF signals at one ormore antennas in the robotic system, etc. The system can then implementmethods and techniques described above: to identify—in these RFID valuesreceived by the robotic system—an identifier of an inventory structure;and to determine a location of the inventory structure in the store,such as by triangulating the location of the inventory structure withinthe virtual coordinate system defined for the store based on a positionand orientation of the robotic system at a time of receipt of thisidentifier of the inventory structure. In this example, the system canalso populate a catalog of infrastructure deployed in the store with theidentifier of the first inventory structure and the location of thefirst inventory structure in the store, such as in the form of a lookuptable, spreadsheet, or 2D visual map of the store.

The system can implement similar methods: to detect and locate shelves,hangers, tables, freestanding racks, refrigeration units, etc. withinthe store based on RFID values received by the robotic system duringscan cycles throughout the store; and to populate a catalog of theseother infrastructure deployed in the store.

10. Closed-Loop RFID Interrogation Parameters

Block S140 of the method S100 recites, in response to a differencebetween the list of product units in the first set of identificationsignals and a target stock list of the first inventory structure definedby a planogram of the store, defining a second set of scan parametersdiffering from the first set of scan parameters. Block S150 of themethod S100 recites, at the robotic system, navigating to the firstwaypoint in the set of waypoints according to the second set of scanparameters, outputting a radio frequency interrogation signal accordingto the second set of scan parameters, and collecting a second set ofidentification signals from RFID tags coupled to products arranged onthe first inventory structure. Generally, in Blocks S140 and S150, thesystem implements closed-loop controls to determine whether to executean additional scan routine at a particular waypoint and to adjust scanparameters for another scan routine at the particular waypoint based ondifferences between inventory actually identified from RFID valuesreceived during a scan routine at the particular waypoint and inventoryexpected to be present at the particular waypoint, as shown in FIGS. 1and 6.

In particular, the robotic system (or the remote computer system) canmodify RFID interrogation parameters (e.g., interrogation power,inventory structure offset distance, robotic system speed, interrogationfrequency, robotic system yaw orientation, etc.) based on data collectedby the robotic system during a scan routine along an inventory structurein order to: ensure that RFID values are read from all RFID-taggedproduct units on the inventory structure; and/or improve accuracy oflocalization of these RFID tags. For example, the robotic system (or theremote computer system) can execute these closed-loop controls inreal-time as the robotic system completes a scan routine at a singlewaypoint adjacent an inventory structure or as the robotic systemtraverses a short, continuous path along the inventory structure.Alternatively, the robotic system (or the remote computer system) canexecute these processes asynchronously, such as once a scan of theinventory structure is completed or once the current scan cycle for theentire store is completed.

10.1 Low Quantity of RFID Values Received

In one implementation, the computer system: determines a target quantityof discrete product units—known to include RFID tags—assigned to aninventory structure by the planogram of the store; associates thistarget quantity of discrete product units with a set of waypointsdefined along the inventory structure; and tags this set of waypointswith this target quantity before loading the set of waypoints onto therobotic system in Block Silo. During execution of the set of waypoints,the robotic system implements methods and techniques described above tocollect RFID values from RFID tags proximal the set of waypoints andcounts a total quantity of unique RF signals collected during scanroutines along this the set of waypoints. The robotic system can thenrepeat scan routines along this set of waypoints if certain conditionsare met.

In the foregoing implementation, the robotic system can flag the set ofwaypoints for a second set of scan routines if the target quantity ofproducts assigned to the inventory structure by the planogram exceedsthe actual quantity of unique RFID values collected along the set ofwaypoints by more than a preset threshold, such as: by a staticdifference of 5% for all inventory structures in the store; by 5% duringlow-traffic hours and by 15% during high-traffic hours; by a differencethreshold proportional to a value (e.g., composite of margin and salerate) of products assigned to the inventory structure (e.g., between 2%for high-value products and up to 15% for low-value products); etc. Forexample, the robotic system can repeat a scan cycle at each waypoint inthe set at an increased interrogation signal output power level in BlockS150. In another example, the robotic system can: adjust a targetorientation of the robotic system at each waypoint (e.g., by 15° toshift the plane of propagation of the interrogation signal out of theplane of RFID tags not previously detected); increase the density ofwaypoints along (or around) the inventory structure (e.g., to achievegreater overlap of interrogation signals at the inventory structure);and/or shift these waypoints further away from the inventory structure(e.g., to enable the interrogation signal to reach product units onshelves at the top and/or bottom of inventory structure). By thusimplementing different power, distance, and/or orientation parameterswhen executing additional scan routines at waypoints along thisinventory structure, the system can increase likelihood that any RFIDtags—on product units stocked on the inventory structure—that wereobscured from interrogation signals broadcast by the robotic systemduring the previous scan routine are excited during this next scanroutine and thus return RFID values back to the robotic system, therebyincreasing accuracy of inventory data collected by the robotic systemfor this inventory structure during the current scan cycle.

The robotic system can then calculate a union of RFID values receivedfrom RFID tags on product units on the inventory structure during thefirst and second scan routines. The robotic system can also repeatBlocks S140 and S150 until: increased interrogation power and/or otherinterrogation parameter changes no longer return additional RFID valuesfrom the inventory structure; or until another condition described belowis met.

In this implementation, the robotic system can (in cooperation with thecomputer system) adjust scan parameters (e.g., output power level,orientation, waypoint position, waypoint density, etc.) and repeatablyscan an inventory structure of interest within the store according tothese adjusted scan parameters in Blocks S140 and S150 until few or nonew RFID values are collected from one scan cycle to the next or untilthe actual number of unique RFID values collected during a scan cyclesubstantially matches the target number of product packagings specifiedfor the inventory structure in the planogram, which may represent asufficiently high degree of confidence in the completeness of a list ofproduct packagings—currently stocked on the inventorystructure—represented by RFID values collected along the inventorystructure. Alternatively, the robotic system can repetitively executescan cycles along the inventory structure: until a maximum timeallocated to execute scan cycles at the set of waypoints expires; oruntil a rescan limit (e.g., a maximum of three scan cycles per waypoint)for the inventory structure is reached.

10.2 Overabundance of RFID Values Received

Alternatively, if the quantity of unique RFID values recorded by therobotic system while scanning waypoints along the inventory structureexceeds the target quantity of products assigned to the inventorystructure by the planogram, the robotic system can implement similarmethods and techniques to adjust scan parameters to compensate for thisoverabundance of unique RFID values received from product units on (andnear) the inventory structure and then repeat scan routines along thisautonomous vehicle according to this modified scan parameters. Forexample, receipt of too many unique RFID values may be the result ofexciting RFID tags on product unit on a second inventory structurenearby due to excessive power of the interrogation signal output by therobotic system at these waypoints; the robotic system can thereforerepeat scan routines at these waypoints but at reduced interrogationsignal power in order to avoid exciting RFID tags on other inventorystructures nearby. The robotic system can additionally or alternativelyshift these waypoints closer to the inventory structure in order toavoid powering RFID tags on other inventory structures nearby (e.g., asecond inventory structure on the same aisle and facing the inventorystructure). The robotic system can then: repeat scan routines atwaypoints along the inventory structure to collect a new set of uniqueRFID values received from RFID tags on products units stocked on theinventory structure; and calculate an intersection of RFID valuesreceived during the previous and current scan routines along thisinventory structure. The robotic system can also repeat Blocks S140 andS150 until: decreased interrogation power and/or other interrogationparameter changes yield scan results that begin to exclude RFID valuesassigned to the inventory structure and that were received duringimmediately-preceding scan routines executed along the inventorystructure; or until another condition, such as described above, is met.

Therefore, the robotic system can implement closed-loop controls toadjust scan parameters and repeat scan routines along the inventorystructure of interest based on the target quantity of productsallocated—according to the planogram—for the inventory structure ofinterest. The robotic system (or the computer system) can also storelast scan parameters executed by the robotic system for this inventorystructure; during a next scan cycle along this inventory structure, suchas around the same time on the following day, the robotic system canscan the inventory structure of interest according to these stored scanparameters.

In a similar example, after broadcasting an interrogation signal duringa scan routine adjacent a first inventory structure according to a firstset of wireless scan parameters (e.g., a first power, a firstorientation, and first offset distance from the first inventorystructure), the robotic system can record a set of wirelessidentification signals from RFID tags on product units on the firstinventory structure in Block S120. The computer system can thentransform this first set of wireless identification signals into a firstlist of product units currently stocked on the first inventory structureand compare this first list of product units to a first target stocklist assigned to the first inventory structure by the planogram of thestore. In Block S140, if this first list of product units includes aparticular product unit excluded from the first target stock listassigned to the first inventory structure and if this particular productunit is assigned to a second inventory structure adjacent the firstinventory structure, the computer system can generate (or calculate) asecond set of wireless scan parameters, such as specifying a secondinterrogation power less than a first interrogation power specified inthe first set of wireless scan parameters and/or a lesser offsetdistance from the first inventory structure. The robotic system canthen: navigate along the first inventory structure; broadcast radiofrequency interrogation signals according to the second set of wirelessscan parameters; and record a second set of wireless identificationsignals returned by radio frequency identification tags coupled toproduct units arranged on the first inventory structure in Block S150.In Block S132, the computer system can then repeat the foregoing methodsand techniques to generate a second list of product units arranged onthe first inventory structure based on this second set of wirelessidentification signals recorded by the robotic system. If the secondlist of product units includes all product units from the first list ofproduct units assigned to the first inventory structure and excludes theparticular product unit assigned to the second inventory structure, thecomputer system can assign the second set of wireless scan parameters tothe first inventory structure, and the robotic system can implementthese stored wireless scan parameters when scanning the first inventorystructure during subsequent scan cycles. Otherwise, the computer systemand robotic system can further cooperate to tune wireless scanparameters for the first inventory structure until these wireless scanparameters yield high selectivity to interrogating RFID tags on productunits on the first inventory structure to the exclusion of RFID tags onproducts on inventory structures nearby.

10.3 SKUs

In another implementation, the computer system: accesses the planogramof the store to identify unique SKUs and quantities of each unique SKUassigned to an inventory structure of interest; compiles these SKUquantities for the inventory structure into a target product list (ormatrix, lookup table, or other container); links this target productlist to a set of waypoints for the inventory structure; and uploads thetarget product list with the set of waypoints to the robotic system.During execution of a scan routine at each waypoint in this set, therobotic system can: collect RFID values from RFID tags on productsstored on this inventory structure; pass these RFID values through a(local or remote) name mapping system to access SKUs of products labeledwithin these RFID tags; compile these SKUs into a list of actualproducts stored on the inventory structure of interest; and thenidentify differences between the list of unique product units and targetproduct list.

In this implementation, following execution of scan routines along theinventory structure, the robotic system can generate a first list ofunique SKUs represented in the list of unique product units but not inthe target product list. The robotic system can then: predict that thefirst list of unique SKUs represents misplaced products on and near theinventory structure of interest—such as products selected by shoppersfrom other inventory structures and later discarded onto the inventorystructure of interest—if the first list of unique SKUs is small (e.g.,less than 2% of the length of the target product list); and remove thefirst list of unique SKUs from the list of unique product units whencalculating the actual inventory state of the inventory structure. Thesystem can also: implement methods and techniques described above toapproximate the 2D or 3D location of a particular RFID tag thatbroadcast an RF signal that was interpreted as a particular SKU in thefirst list of unique SKUs; access product information of this particularSKU, as described above; generate a task specifying the approximatelocation of the particular RFID tag, product information of theparticular SKU, and a prompt to remove a unit of the particular SKU fromthe inventory structure of interest; and then transmit this task to anassociate of the store, thereby guiding the associate to correctmisplaced products throughout the store.

Alternatively, in the foregoing implementation, if the first list ofSKUs is large (e.g., more than 2% of the length of the target productlist), the robotic system can determine that the first list of SKUs arerepresented by RFID values received from RFID tags applied to productsstocked on other inventory structures nearby. The robotic system canthus repeat scan routines at waypoints along the inventory structure ofinterest but at lower interrogation signal output power levels and/orwith waypoints shifted closer to the inventory structure of interest—asdescribed above—in order to avoid exciting RFID tags on products onother inventory structures nearby when the robotic system broadcast aninterrogation signal to products units on the inventory structure ofinterest.

In the foregoing implementation, the robotic system can also calculate asecond list of SKUs contained in the target product list but not in thelist of unique product units generated from RF signals collected duringscan routines at waypoints along the inventory structure of interest. Inthis implementation, if the second list of SKUs is small (e.g., lessthan 1% of the length of the target product list or less than a staticor dynamic threshold proportion assigned to the inventory structure, asdescribed above), the robotic system can label the inventory structureof interest as properly stocked and move to waypoints associated with anext inventory structure in the store. Otherwise, the robotic systemcan: adjust scan parameters for waypoints along the inventory structure,as described above, such as by increasing output power level, shiftingwaypoints closer to the inventory structure of interest, adjusting theangular (i.e., yaw) offset associated with waypoints along the inventorystructure (e.g., by 15°), and/or increasing density of waypoints alongthe inventory structure in Block S140; repeat scan routines at thesewaypoints along the inventory structure to collect a new set of RFIDvalues in Block S150; merge the RFID values collected during theprevious and current scan routines along the inventory structure into arevised list of unique product units of product units stocked on theinventory structure; and repeat the foregoing processes according to therevised list of unique product units until one of various conditionsdescribed above are met.

10.4 Scan Routine Repetition

Therefore, in response to a difference between a first list of productunits detected on a first inventory structure—via RF signals received bythe robotic system when scanning the first inventory structure accordingto initial wireless scan parameters—and a target stock list of productunits known to contain RFID tags and assigned to the first inventorystructure by the planogram, the system can define a modified set ofwireless scan parameters for scanning the first inventory structure inBlock S140, as shown in FIGS. 1 and 6.

The computer system and the robotic system can implement these methodsand techniques in Block S140 discontinuously, such as upon conclusion ofthe current scan cycle or upon conclusion of a scan of the firstinventory structure. For example, upon conclusion of a first scan of thefirst inventory structure, the robotic system can immediately rescan thefirst inventory structure according to revised wireless scan parameterscalculated by the computer system according to results of the firstscan. The computer system can then: transform RFID values received bythe robotic system during this first and second scan of the firstinventory structure into a first list and a second list of product unitsstocked on or located near the first inventory structure; calculate aunion of these first and second lists of product units; calculatelocations of these product units on or near the first inventorystructure based on these consolidated scan data; and then determinewhether the quantities and locations of these product units differ fromthe target stock list assigned to the first inventory structure. Asdescribed below, the computer system can then distribute prompts tocorrect product quantity differences and/or product location differencesthus detected for the first inventory structure.

Alternatively, the computer system and the robotic system can implementthese methods and techniques in Block S140 in real-time. For example,the robotic system can recalculate wireless scan parameters for scanningthe first inventory structure based on RFID values received from localRFID tags following each broadcast of an interrogation signal by therobotic system, such as following execution of a scan routine at eachwaypoint along the first inventory structure, after traversing a targetdistance (e.g., ten centimeters) along the first inventory structure, orduring an interval between each scan routine along the first inventorystructure.

Therefore, the robotic system can redefine wireless scan parameters inreal-time between a first scan routine and a second scan routine alongthe first inventory structure; navigate continuously along the firstinventory structure from a location of the first scan routine to alocation of the second scan routine; and transition from broadcastingradio frequency interrogation signals according to a first set ofwireless scan parameters at the first location to broadcasting radiofrequency interrogation signals according to a second set of wirelessscan parameters at the second location while scanning the inventorystructure. For example, in this implementation, the robotic system canvary its yaw orientation, its offset distance from the first inventorystructure, and its RFID interrogation power while moving along the firstinventory structure, such as to traverse a serpentine path andsinusoidal yaw orientation along the first inventory structure.

However, the computer system and the robotic system can implement anyother methods or techniques to tune or otherwise vary wireless scanparameters for scanning product units on inventory structures throughoutthe store.

11. Point of Sale and Restocking Data

In one variation, the system: interfaces with a restocking scheduler andwith a point of sale system integrated into the store to track ingressof new products loaded onto the inventory structure throughout the storeand to track egress or products from the store through sales; andupdates quantities and/or types (e.g., SKUs) of products expected to beon the inventory structure throughout the store based on such productflux data. The robotic system can then implement these updated productquantity and/or type data when determining whether to repeat RFID scanroutines at waypoints throughout the store in Block S140.

12. Off-Shelf Product Units

In another variation, the system identifies RF signals as originatingfrom RFID tags arranged on or in product units carried in shoppingcarts, carried in shopping baskets, or discarded onto the floor. Forexample, the system can extract—from the planogram—2D plan areas or 3Dvolumes of inventory structures throughout the store. In this example,during execution of a scan routine along an inventory structure ofinterest, the robotic system can: collect RFID values from nearby RFIDtags in Block S120; implement methods and techniques described above todetermine 2D or 3D locations of RFID tags within the store based onthese RFID values and related metadata; and flag RFID values locatedoutside of known plan areas or volumes of inventory structures in thestore. The system can then remove unique product units corresponding tothese flagged RFID values from a list of product units stocked on anadjacent inventory structure such that this list of product unitsrepresents a substantially authentic summary of the stock state of theinventory structure and excludes product units currently occupyingshoppers' carts or baskets or product units discarded onto a floor ofthe store.

In another example in which the robotic system is deployed in a retailenvironment including fitting rooms and in which this retail environmentis stocked with products labeled with RFID tags (e.g., a clothing storestocked with clothing and accessories including integrated RFID tags orRFID labels), the computer system can dispatch the robotic system to:navigate along inventory structures throughout the store; broadcast RFIDinterrogation signals toward these inventory structures; collect RFIDvalues from products arrange on these inventory structures; and/orrecord optical images of these inventory structure during a scan cycle.The computer system can then derive an inventory of product units onthese inventory structures throughout the store based on these RFIDand/or optical data, as described above. However, during this samewhole-store scan cycle or during a scan cycle dedicated to monitoringfitting rooms in the store, the computer system can also dispatch therobotic system to: navigate along and outside of these fitting rooms;broadcast RFID interrogation signals toward these fitting rooms; andcollect RFID values from product units located inside these fittingrooms (e.g., product units previously left in these fitting rooms bypatrons or carried into these fitting rooms by current occupants ofthese fitting rooms). The computer system can then implement methods andtechniques described above to identify product units and to estimatelocations of these product units located inside these fitting roomsbased on RFID values collected by the robotic system during this scancycle. The computer system and the robotic system can thus cooperate torecord an inventory of loose product units located in fitting rooms inthis store. The computer system can then leverage these loose productunit inventory information: to form a more accurate and comprehensiverepresentation of the types and locations of many or all product unitsthroughout the store; and to selectively prompt a store associate toreturn product units in these fitting rooms back to their respectiveinventory structures. The computer system can also host a search portalfor store associates, return (near) real-time locations and quantitiesof product units stocked on inventory structures and/or left in fittingrooms in the store based on search terms entered by a store associate,and thus enable the store associate to quickly locate a particularproduct unit requested by a patron of the store (e.g., a last pair ofjeans by a particular manufacturer, in a particular style, in aparticular color, and in a particular size left in a particular fittingroom in the store).

12.1 Spilled Product Units

In one implementation, the system distinguishes products discarded ontothe floor of the store. For example, the system can: implement theforegoing methods and techniques to determine that a particular RFIDvalue—collected during a first scan routine along an inventory structureof interest—corresponds to a particular RFID tag located outside of a 2Dplan area or 3D volume associated with a nearest inventory structure ofinterest; and then repeat scan routines along this inventory structureat a later time (e.g., one minute later, fifteen minutes later) in BlockS150. If the system receives the particular RFID value again during thesecond set of scan routines along the inventory structure and determinesthat the particular RFID tag is located at substantially the sameposition outside of the 2D plan area or 3D volume of the nearestinventory structure, the system can flag the particular RFID tag. Thesystem can then: generate a task specifying the approximate location ofthe particular RFID tag, product information of a particular SKU linkedto the particular RFID value, and a prompt to remove the product from anaisle facing the inventory structure of interest; and transmit this taskto an associate of the store.

In a similar example, the computer system (or the robotic system) can:approximate locations of product units—in a first list of product unitsidentified from a first set of RFID values received by the roboticsystem while scanning a first inventory structure—in the virtualcoordinate system defined for the store based on characteristics ofcorresponding wireless identification signals recorded by the roboticsystem; detect a particular product unit—in this first list of productunits—located below a threshold height and outside a known footprint ofthe first inventory structure (e.g., defined in 2D or 3D map ofinventory structures throughout the store or in the planogram); and flagthis particular product unit as a possible obstruction on the floor ofthe store (e.g., in an aisle adjacent the first inventory structure).Accordingly, the robotic system can: navigate to an orientation thatpositions a calculated location of the particular product unit within afield of view of an optical sensor in the robotic system, such as basedon known properties of the optical sensor and a known position of theoptical sensor on the robotic system; and then record an optical image(e.g., a 2D photographic image) through the optical sensor. This opticalimage may thus depict the particular product unit and an adjacent areaof the store. The computer system can then: generate a spill correctionprompt to remove the particular product unit from the floor of thestore; append the optical image to the spill correction prompt; and thenserve this spill correction prompt to a computing device associated withan associate of the store substantially in real-time.

The robotic system and the computer system can thus cooperate to:automatically detect an RFID-tagged product unit incorrectly occupyingthe floor of the store; to notify a store associate of this product unitas soon as this spill is detected; and to provide visual insight intothe state of store where this spilled product unit was detected, whichmay enable the associate to more rapidly discern the nature of thisspill, to discern the urgency of this spill, and to determine whetherhelp or cleanup tools (e.g., a mop, a broom) are needed to correct thisspill before physically arriving at the scene of this spill, which mayfurther enable the associate correct the spill more quickly.

12.2 Product Units in Shopping Carts and Baskets

Similarly, the system can distinguish products contained in shoppingcarts or baskets. In the foregoing example, if the system does notreceive the particular RFID value again during the second set of scanroutines along the inventory structure of interest or does receive theparticular RFID value again during the second set of scan routines butdetermines that the particular RFID tag has moved by a significantdistance from its determined location during the first scan routine, thesystem can label the particular RFID tag as coupled to a product placedin a shopping cart or shopping basket. In this variation, the system cangenerate a list of product units currently in shopping carts in thestore—but not yet purchased—accordingly.

Alternatively, RFID tags can be integrated into baskets and shoppingcarts supplied to customers of the store. Thus, when the robotic systemoutputs an interrogation signal via the RFID antenna when occupying aspace in the store near a cart (or basket), the robotic system canreceive RFID values from both products contained in a cart (or basket)nearby and the cart (or basket) itself. The system can then: associatean RFID value received from the cart with a set of RFIDs values receivedfrom products occupying the cart; detect co-location of the cart andthese products accordingly; and disregard RFIDs received from theseproducts when determining the stock state of shelves throughout thestore while these products remain co-located with the cart. The systemcan also confirm co-location of these products in the cart based onpersistent receipt of RFID values from both RFID tags arranged in theseproducts and arranged in the cart over time, as described above.

13. Optical Scans

As described above and in U.S. patent application Ser. No. 15/347,689and shown in FIGS. 4-7, the robotic system can also record one or moredigital photographic images of an inventory structure during a scancycle; and the computer system can process these images to identifyproduct units stocked on the inventory structure, to identify price tagson slots on the inventory structure, to identify differences betweenactual and target stock states of the inventory structure, and/or toguide modification to wireless scan parameters implemented by therobotic system when scanning RFID tags on product units on thisinventory structure.

13.1 Optical Product Unit Detection

In one implementation shown in FIGS. 4 and 6, while the robotic systemnavigates along a first inventory structure and broadcasts an RFIDinterrogation signal toward the first inventory structure, the roboticsystem can also record one or more optical images of the first inventorystructure in Block S122. As described in U.S. patent application Ser.No. 15/600,527, the computer system can then: compile this set ofoptical images recorded by the robotic system into a composite image ofthe first inventory structure; segment the composite image by shelvingsegment, shelf, or slot, etc.; retrieve—from a database of templateimages—a first set of template images, wherein each template image inthis first set of template images contains visual featuresrepresentative of a product in the first target stock list assigned tothe first inventory structure; detect features in each segment of thecomposite image; identify template images that best match featuresdetected in each segment of the composite image; and quantify productunits, locations of product units, and orientations of product units (atthe front of each slot) on the first inventory structure based onproduct information associated with template images matched to thesesegments in the composite image in Block S180, as shown in FIGS. 4 and7. In particular, the computer system can identifying a set of productunits stored on the first inventory structure based on correlationsbetween: visual features represented in selected template images, in thefirst set of template images, of known products at known orientations;and clusters of features detected in segments of the composite image ofthe first inventory structure.

The robotic system can therefore collect optical images of the firstinventory structure; and the computer system can implement computervision techniques: to identify product units stored on the firstinventory structure; and to determine locations and orientations ofthese product units. The computer system can then combine theseimage-based stock data for the first inventory structure with RFID-basedstock data described above: to determine whether a correct product unitis occupying each slot on the first inventory structure; to determinewhether a product unit occupying each slot on the first inventorystructure is properly oriented (e.g., set at the front of the slot withthe correct face of the product unit facing outwardly); and to determinequantities of product units stocked on the first inventorystructure—even those product units that are visually obscured by otherproduct units on the first inventory structure. The computer system cantherefore leverage a combination of image-based and RFID-based stockdata for the first inventory structure to achieve a more completerepresentation of the current stock state of the first inventorystructure. The robotic system and the computer system can cooperate toextract similar insights from image-based and RFID-based stock data forother inventory structures throughout the store.

13.2 Selective Optical and RFID Scans

In this variation, the robotic system can selectively broadcast RFIDinterrogation signals and/or record optical images of inventorystructures throughout the store based on whether products assigned tothese inventory structures are known to include or exclude RFID tags, asshown in FIGS. 5 and 6.

For example, the robotic system can default to recording optical imagesof all inventory structures in the store, and the computer system canascertain presence, location, and orientation of product units at frontsof slots in these inventory structures based on these optical images.For an inventory structure (or shelving segment) assigned at least oneRFID-tagged product, the robotic system can broadcast RFID interrogationsignals along the length of this inventory structure or, morespecifically, when occupying positions along the inventory structureadjacent target locations for each RFID-tagged product assigned to thisinventory structure.

Alternatively, when navigating along an inventory structure assigned atarget stock list including products known to contain RFID tags andexcluding products known to exclude RFID tags, the autonomous vehiclecan: broadcast radio frequency interrogation signals; record a secondset of wireless identification signals returned by RFID tags coupled toproduct units arranged on the second inventory structure; and disablecollection of optical images. From RFID values thus collected by therobotic system, the computer system can determine a stock state of theinventory structure and approximate locations of product units on theinventory structure, as described above, which may be faster and consumefewer resources than processing optical images of this inventorystructure.

13.3 Product Unit Tracking: RFID+Images

In one implementation, the robotic system defaults to executing RFIDscan routines along inventory structures throughout the store, and thesystem processes RFID values collected by the robotic system duringthese scan routines substantially in real-time to assemble lists ofproduct units stored on these inventory structures. In thisimplementation, if the system determines that a list of unique productunits stocked on an inventory structure deviates significantly from atarget stock list for the inventory structure—such as if this list ofunique product units contains unique SKUs not present in the targetproduct list for the inventory structure, or if this list of uniqueproduct units contains many fewer unique SKUs than product quantitiesspecified in the target product list for the inventory structure—thesystem can flag this inventory structure for optical imaging. Therobotic system can then navigate along this inventory structure a secondtime and capture optical images of the inventory structure (andrecollect RFID values from RFID-tagged product units on this inventorystructure), such as at a tail end of the current scan cycle, during anext scan cycle, or immediately after completing a last RFID scanroutine along this inventory structure during the current scan cycle.

After processing these optical images, as described above, the computersystem can merge these RFID data and image-based stock data for theinventory structure to determine the stock state of the inventorystructure, such as including which unique SKUs are stocked on theinventory structure, quantities of unique SKUs stocked on the inventorystructure, locations and orientations of product facings on theinventory structure, and deviations from the target stock list definedfor the inventory structure in the planogram.

Furthermore, in this implementation, when populating a set of templateimages of products for comparison to features detected in optical imagesof this inventory structure, the computer system can: calculate a unionof unique products (e.g., unique SKUs) assigned to the inventorystructure by the planogram and unique products detected in RFID datacollected by the robotic system while traversing the inventorystructure; and then aggregate a set of template images of all productsin this union. By then implementing this set of template images toidentify products in images of the inventory structure, the computersystem may more rapidly identify both products assigned to the inventorystructure and RFID-tagged products mistakenly placed on the inventorystructure, such as by a patron of the store.

Therefore, because collection, offloading, and processing of images bythe system may be time, bandwidth, data transfer, and computationallyexpensive compared to collection and analysis of RFID values, the systemcan selectively collect image data when additional optical informationmay aid in determining the stock state of an inventory structure.

13.4 Images then RFID

Alternatively, the robotic system can default to recording images ofinventory structures at waypoints throughout the store and selectivelyflagging waypoints for RFID scan routines. For example, if the systemdetermines from a set of images recorded along an inventory structurethat a particular slot in the inventory structure is empty or possiblyunder-stocked (e.g., based on dark shadows behind a visible productfacing in the slot or if the first product facing in the slot is offsettoward the rear of the slot), the system can flag one or a subset ofwaypoints adjacent the particular slot for RFID scans and then triggerthe robotic system to revisit these waypoints. The robotic system canthen implement the foregoing methods and techniques to collect RFIDvalues from RFID tags on products in and around the particular slot onthe inventory structure; and the system can then analyze these RFIDvalues to determine the actual quantity of the SKU assigned to theparticular slot.

13.5 Optical-Based Closed-Loop RFID Scan Routines

In another implementation, the robotic system executes an RFID scan andrecords an image at each waypoint. In this implementation, the systemcan: identify each unique SKU represented in images of an inventorystructure recorded during a scan routine along the inventory structure;and generate a ground-truth list of these unique SKUs. The system canalso: generate an RFID-based list of unique SKUs linked to RFID valuescollected at waypoints along the inventory structure; and trigger therobotic system to repeat scan routines at waypoints along the inventorystructure if the ground-truth list of unique SKUs contains SKUs notpresent in the RFID-based list of unique SKUs. Otherwise, the system canconfirm sufficient accuracy of scan routines along the inventorystructure and prompt the robotic system to move a next set of waypointsalong another inventory structure in the store.

In one example shown in FIG. 6, the computer system can: compile a firstlist of product units represented in RFID data collected by the roboticsystem executing a first set of wireless scan parameters whiletraversing a path along a first inventory structure in the store; andidentify a second set of product units stocked on the first inventorystructure from one or more optical images of the first inventorystructure recorded by the robotic system during this scan cycle. Then,in response to the second image-based set of product units containing aparticular product unit excluded from the first RFID-based list ofproduct units, the computer system can generate a second set of wirelessscan parameters—such as specifying a second interrogation power greaterthan a first interrogation power specified in the first set of wirelessscan parameters—intended to increase likelihood that the robotic systemwill read an RFID value from the particular product unit. The roboticsystem can then: navigate along the first inventory structure for asecond time; broadcast radio frequency interrogation signals toward thefirst inventory structure according to the second set of wireless scanparameters; and record a second set of wireless identification signalsreturned by RFID tags coupled to product units arranged on the firstinventory structure in Block S150. The computer system can then generatea second list of product units arranged on the first inventory structurein Block S132 based on this second set of wireless identificationsignals recorded by the robotic system during this second pass along thefirst inventory structure. If the second list of product units nowincludes the particular product unit, the computer system can assign thesecond set of wireless scan parameters to the first inventory structure,and the robotic system can default to implementing these wireless scanparameters during a next scan of the first inventory structure.

Therefore, the system can trigger the robotic system to repeat scanroutines at waypoints along an inventory structure if the systemidentifies unique product facings in images of the inventory structurethat are not similarly represented in RFID values collected during RFIDscan routines along the inventory structure. The system can implementsimilar methods and techniques to confirm that a quantity of each uniqueproduct facing identified in images of the inventory structure is alsorepresented in RFID values collected at waypoints along the inventorystructure.

13.6 Spill Imaging

In the variation described above in which the system (or the roboticsystem) identifies a static RFID tag occupying a 2D or 3D locationoutside of a known footprint or volume of an inventory structure and inwhich the system labels the static RFID tag as a product discarded ontothe floor, the system can: calculate a location and orientation of therobotic system at which this discarded product may fall into the fieldof view of a camera integrated into the robotic system; and trigger therobotic system to navigate to this location and orientation and thenrecord an image through this camera. Upon receipt of this image from therobotic system, the system can append a notification for handling thediscarded product, as described above, with this image.

13.6 Output Image

In another implementation shown in FIG. 3, the system: generates a 2Delevation image of an inventory structure, such as by stitching multiplediscrete images recorded by the robotic system when occupying waypointsalong the inventory structure into a single panoramic image of theinventory structure; implements methods and techniques described aboveto transform RFID values and related metadata collected by the roboticsystem when occupying the same waypoints into 2D plan or 3D locations ofcorresponding RFID tags within the store; and projects the 2D plan or 3Dlocations of these RFID tags onto the 2D elevation image of theinventory structure. The system can then: retrieve product data (e.g.,SKU, serial number, data of manufacture, etc.) associated with each ofthese RFID values; and populate discrete regions of the 2D elevationimage with corresponding product data in order to generate a visualrepresentation of the inventory structure and unit-level productinventory in a single 2D visual document in Block S194.

In one example shown in FIGS. 4 and 6, the computer system can:approximate locations of product units arranged on a first inventorystructure based on characteristics of corresponding wirelessidentification signals, in a set of wireless identification signals,recorded by the robotic system while scanning the first inventorystructure; approximate locations of product units arranged on the firstinventory structure based on locations of corresponding featuresdetected at the set of images recorded by the robotic system whilescanning the first inventory structure; and calculate a union oflocations and identities of product units in this RFID-based list ofproduct units and the image-based set of product units. The computersystem can then: generate a virtual representation of the firstinventory structure; and populate the virtual representation of thefirst inventory structure with representations of locations andidentities of product units in this union of RFID- and image-basedproduct unit lists. This virtual representation of the first inventorystructure can thus represent identities and locations of both productunits that are visible at the first inventory structure and productunits that are hidden behind other product units on the first inventorystructure. The computer system can then share this virtualrepresentation of the first inventory structure with an associate of thestore or otherwise make the virtual representation of the firstinventory structure available to an associate of the store, such asthrough a web portal, to provide the associate with quick, visualinsight into a 3D stock state of the first inventory structure.

In a similar example shown in FIG. 2, the computer system can: implementmachine vision techniques to identify discrete slots on the inventorystructure of interest in the 2D elevation image; and then populate the2D elevation image of the inventory structure with one hotspot per slotor group of slots assigned the same SKU, wherein each hotspot contains anumber of units of a SKU assigned to the slot(s) and suppliers,manufacturing dates, and/or serial numbers, etc. of products determinedto be located in the slot(s) based on RFID values collected during therobotic system's occupation of nearby waypoints. The computer system canalso: implement machine vision techniques to identify slots stocked withincorrect products; identify products occupying these slots based onRFID values collected by the robotic system while navigating along theinventory structure but not contained in a list of SKUs assigned to theinventory structure by the planogram; and write a hotspot—indicatingSKUs and/or other relevant data—to slots stocked with incorrect productsrepresented in the 2D elevation image of the inventory structure.

However, the computer system can merge digital photographic images andRFID-related data into any other visual representation of the stockstate of an inventory structure of interest in the store. The computersystem can implement similar methods and techniques to generate visualrepresentations of other inventory structures throughout the store basedon image- and/or RFID-based data collected by the robotic system duringa scan cycle.

13.7 Price Tag Confirmation

In this variation, the computer system can additionally oralternatively: compile a first list of product units stocked on a firstinventory structure from RFID data collected by the robotic system whilenavigating along the first inventory structure during a scan cycle;approximate locations of product units—in this first list of productunits—arranged on the first inventory structure based on characteristicsof corresponding wireless identification signals in the first set ofwireless identification signals in Block S132, as described above;identify—in an optical image of the first inventory structure recordedby the computer system during the scan cycle—locations of and pricevalues indicated by a set of price tags on the first inventory structurein Block S180; and then align locations of product units—estimated fromRFID data collected by the robotic system while scanning the firstinventory structure—to locations of price tags in the set of price tagsdetected in the optical image. For a particular product unit—in thisfirst list of product units—the computer system can detect a pricedifference between a price assigned to the particular product unit and aprice value indicated by an adjacent price tag in the set of price tags;and then generate a stock correction prompt to correct the adjacentprice tag on the first inventory structure in response to detecting thisprice difference.

Therefore, in this implementation, the computer system can: detect pricetags in an optical image of an inventory structure recorded by therobotic system; project locations of these price tags onto locations ofproduct units calculated from corresponding RFID data collectedsubstantially concurrently by the computer system (or vice versa); andlink an optically-detected price tag to a product unit (or a cluster ofproduct units) identified in RFID data collected by the robotic systembased on physical proximity of the price tag and product unit(s). Thecomputer system can then confirm whether a price value indicated in aprice tag equals a price assigned to the corresponding product unit(s)(e.g., in the planogram or price database managed by the store) and thenselectively prompt a store associated to correct the price tag if adifference is detected. For example, the computer system can transmit alocation of the incorrect price tag and a correct price value for theprice tag (or printable image for the correct price tag) to a mobilecomputing device associated with the store associate.

14. Digital Report+Restocking Prompts

Block S170 of the method S100 recites generating a digital report ofproducts stocked on the first inventory structure based on the secondset of identification signals. Generally, in Block S170, the systemaggregates a list of SKUs and their actual quantities represented byRFID values collected at waypoints throughout the store into a report ofwhich SKUs are stocked in what quantities and at which locationsthroughout the store.

In one implementation the computer system generates an electronicrestocking list containing a filtered list of slots at inventorystructures throughout the store in need of correction, such as additionof product, exchange of product, or straightening of product. Forexample, the system can generate a stocking status graph, table, or listof improperly-stocked slots throughout the store, such as including amis-stocking mode (e.g., too many facings, too few facings, misorientedpackaging, damaged packaging, outdated packaging, under quantity, overquantity, incorrect product location, etc.) for each improperly-stockedslot in this list based on stock values extracted from RFID and/oroptical data collected by the robotic system, as shown in FIGS. 1, 2, 4,and 6. In this implementation, the system can serve this graph, table,or list to the manager of the store via a manager portal, such asexecuting on a desktop computer, a laptop computer, a tablet, or asmartphone, etc.

The computer system can also generate a stock correction task list tocorrect improperly-stocked slots. In this implementation, the system cangenerate a prioritized list of tasks to move misplaced products, torestock empty or improperly-stocked slots, etc. and then serve this tasklist to an associate (e.g., employee) of the store via a native stockingapplication executing on a mobile computing device (e.g., a tablet, asmartphone) carried by the associate. In this implementation, thecomputer system can implement methods and techniques described in U.S.patent application Ser. No. 15/347,689 to prioritize this list of tasksto correct improperly-stocked slots throughout the store.

In one example, the computer system: detects omission of a first productentirely from a first slot on a first inventory structure in the storebased on failure of the robotic system to read an RFID valuecorresponding to this first product while scanning the first inventorystructure and failure to detect a unit of the first product in anoptical image of the inventory structure; retrieves a first number ofunits of the first product assigned to the first slot by the planogram;generates a notification specifying an identifier (e.g., a SKU) of thefirst product, the number of units of the first product assigned to thefirst slot, a location of the first slot on the first inventorystructure, and a location of the first inventory structure within thestore; and then transmits the notification to a mobile computing deviceassigned to an associate of the store substantially in Block S170. Inthis example, the system can transmit the notification to the associatein real-time, such as if the first product is a high-value productdetermined to be empty during a high-traffic period at the store.Alternatively, the system can delay transmission of the notification tothe associate until the robotic system completes a scan of the store, afull stock state of the store is determined from these scan data, and alist of restocking prompts is ordered according to values of theseunder- or mis-stocked products.

In this implementation, the system can receive inputs from the associatethrough the native stocking application to close tasks, and the systemcan later confirm that these tasks were properly closed based on imagescollected by the robotic system during the next scan cycle within thestore. However, the system can output stocking status data in any otherformat in Block S170.

14.1 Product Quantity Difference

Therefore, the computer system can detect a product quantity differencethat includes either of: a quantity of a particular SKU—in an RFID-basedlist of product units detected on an inventory structure—that exceeds atarget count of the particular SKU specified for the inventory structureby the planogram of the store (e.g., in the target stock list for theinventory structure); and the target count of the particular SKUspecified in the planogram for the inventory structure exceeding thequantity of the particular SKU detected on the inventory structure bymore than a threshold difference (e.g., by 30%).

When notifying a store associate of this product quantity difference,the computer system can append a restocking list for inventorystructures throughout the store with: a prompt to align the quantity ofthe SKU to the target count on the inventory structure; a locationassigned to the SKU on the inventory structure; and/or a differencebetween the quantity of the SKU noted in the first list of product unitsdetected on the inventory structure and the target count of the SKUassigned to the inventory structure by the planogram. The computersystem can then serve this restocking list to a computing deviceassociated with the store associate, such as in real-time, based on astored priority of the particular SKU, or in preparation for a scheduledrestocking period in the store.

14.2 Inventory Structure Orderliness

In another implementation, the computer system can: confirm that aninventory structure is sufficiently stocked with RFID-tagged productsbased on RFID data collected by the robotic system while scanning theinventory structure; characterize orderliness of the inventory structurebased on positions and orientations of product units detected in anoptical image of the inventory structure recorded substantiallyconcurrently by the robotic system; and distribute prompts to correctthe inventory structure if sufficiently disordered. For example, inBlock S170, the computer system can generate a stock correction promptfor an inventory structure in response to a difference between locationsand orientations of product units—in a set of product units detected inan image of the inventory structure—and locations and orientations ofproducts defined in the planogram for the inventory structure. Thesystem can also generate and distribute such prompts to order (or“tidy”) an inventory structure—if the system determines that productunits stored on this inventory structure are sufficientlydisordered—separately (e.g., at a lower priority) than prompts forrestocking the inventory structure when the system determines that theinventory structure is sufficiently under-stocked.

Alternatively, the computer system can interpret an orderliness ofproduct units on the inventory structure from RFID data collected by therobotic system while navigating along the inventory structure during ascan cycle, such as as a function of proximity of estimated RFID-basedlocations of product units of the same SKU on the inventory structure orbased on how closely distribution of estimated RFID-based locations ofproduct units on the inventory structure approximate a geometricarrangement (e.g., a 2D or 3D grid distribution of product units, aclose-pack distribution of product units, etc.). The computer system canthen selectively serve prompts to an associate of the store to adjuststock on the inventory structure if the computer system thus determinesthat stock on the inventory structure is disordered.

14.3 Digital Report/Virtual Representation of Inventory Structure

By comparing this list of SKUs and their actual quantities to theplanogram (or textual or numerical representation of the planogram), thesystem can also populate the digital report with indicators of slots orother inventory structures that are empty, under-stocked, over-stocked,or improperly-stocked with the incorrect product, etc. For example, thesystem can generate a textual list of the stock state of each slot inthe store, such as ordered with empty slots followed by under-stockedslots followed by improperly-stocked slots, etc. and ordered byhighest-value SKU to lowest-value SKU. Alternatively, the system cangenerate a 2D heat map of the stock states of slots throughout thestore, such as indicating regions in which highest-value slots are emptyin red, lower-value empty slots and overstocked-slots in a cooler color,and properly-stocked slots in even cooler colors.

However, the system can generate a digital report of the stock state ofthe store in any other format and in any other way in Block S170.

The systems and methods described herein can be embodied and/orimplemented at least in part as a machine configured to receive acomputer-readable medium storing computer-readable instructions. Theinstructions can be executed by computer-executable componentsintegrated with the application, applet, host, server, network, website,communication service, communication interface,hardware/firmware/software elements of a user computer or mobile device,wristband, smartphone, or any suitable combination thereof. Othersystems and methods of the embodiment can be embodied and/or implementedat least in part as a machine configured to receive a computer-readablemedium storing computer-readable instructions. The instructions can beexecuted by computer-executable components integrated bycomputer-executable components integrated with apparatuses and networksof the type described above. The computer-readable medium can be storedon any suitable computer readable media such as RAMs, ROMs, flashmemory, EEPROMs, optical devices (CD or DVD), hard drives, floppydrives, or any suitable device. The computer-executable component can bea processor but any suitable dedicated hardware device can(alternatively or additionally) execute the instructions.

As a person skilled in the art will recognize from the previous detaileddescription and from the figures and claims, modifications and changescan be made to the embodiments of the invention without departing fromthe scope of this invention as defined in the following claims.

I claim:
 1. A method for tracking stock level within a store comprises:at a robotic system, over a first time period: navigating along a firstinventory structure in the store; broadcasting radio frequencyinterrogation signals; and recording a first set of wirelessidentification signals returned by radio frequency identification tagscoupled to product units proximal the first inventory structure;identifying a first list of product units proximal the first inventorystructure based on the first set of wireless identification signals; foreach product unit in the first list of product units: calculating alocation of the product unit within the store based on: characteristicsof a first instance of a wireless identification signal received from aradio frequency identification tag, coupled to the product unit, by therobotic system when occupying a first position adjacent the firstinventory structure during the first time period; and characteristics ofa second instance of the wireless identification signal received by therobotic system when occupying a second position adjacent the firstinventory structure during the first time period; and detecting presenceof the product unit on the first inventory structure in response to thelocation of the product unit intersecting a known volume of the firstinventory structure within the store; and in response to detecting aproduct quantity difference between the first list of product units anda first target stock list assigned to the first inventory structure,generating a restocking prompt for the first inventory structure.
 2. Themethod of claim 1: wherein calculating a location of a product unitwithin the store for each product unit in the first list of productscomprises calculating a first location of a first product unit, in thefirst list of product units, within the store; and further comprising:detecting a product location difference between the first location ofthe first product unit and a corresponding first location assignmentspecifying a product type of the first product unit; and in response todetecting the product location difference, generating a stock correctionprompt for the first product unit on the first inventory structure. 3.The method of claim 1, further comprising: detecting a second productunit proximal the first inventory structure based on the first set ofwireless identification signals; calculating a second location of thesecond product unit within the store based on: characteristics of afirst instance of a second wireless identification signal received froma second radio frequency identification tag, coupled to the secondproduct unit, by the robotic system when occupying the first positionadjacent the first inventory structure during the first time period; andcharacteristics of a second instance of the second wirelessidentification signal received by the robotic system when occupying thesecond position adjacent the first inventory structure during the firsttime period; and detecting presence of the second product unit outsideof the first inventory structure in response to the second location ofthe second product unit falling outside of the known volume of the firstinventory structure within the store; and flagging the second productunit in response to detecting presence of the second product unitoutside of the first inventory structure.
 4. The method of claim 3,further comprising: calculating a third location of the second productunit within the store based on characteristics of a third instance ofthe second wireless identification signal received by the robotic systemwhen occupying a third position, following the first position and thesecond position adjacent the first inventory structure, during the firsttime period; predicting spillage of the second product unit into anaisle adjacent the first inventory structure in response to the thirdlocation approximating the second location; and generating a spillcorrection prompt to retrieve the second product unit from the aisle. 5.The method of claim 4, further comprising: at the robotic system:navigating to an orientation that positions the third location of thesecond product unit within a field of view of an optical sensor in therobotic system; and recording an optical image of the particular productunit through the optical sensor; inserting the optical image into thespill correction prompt; and serving the spill correction prompt to acomputing device associated with an associate of the store.
 6. Themethod of claim 3, further comprising: calculating a third location ofthe second product unit within the store based on characteristics of athird instance of the second wireless identification signal received bythe first the robotic system when occupying a third position, followingthe first position and the second position adjacent the first inventorystructure, during the first time period; predicting presence of thesecond product unit in a shopping cart in response to the third locationdiffering from the second location.
 7. The method of claim 6, furthercomprising, in response to predicting presence of the second productunit in a shopping cart, adding an identifier of the second product unitto a list of product units placed in shopping carts within the store. 8.The method of claim 1: wherein identifying the first list of productunits proximal the first inventory structure comprises identifying thefirst list of product units comprising quantities of unique stockkeeping units stored on the first inventory structure based onassociations between stock keeping units and unique wirelessidentification signals stored in a name mapping system; and furthercomprising detecting the product quantity difference comprising one of:a quantity of a particular stock keeping unit specified in the firstlist of product units exceeding a target count of the particular stockkeeping unit specified in the first target stock list; and the targetcount of the particular stock keeping unit specified in the first targetstock list exceeding the quantity of the particular stock keeping unitby more than a threshold difference.
 9. The method of claim 1: furthercomprising: retrieving a target quantity of product units assigned tothe first inventory structure; in response to a first quantity ofproduct units identified in the first list of product units fallingwithin a threshold difference of the target quantity of product units;and characterizing a high confidence score for completeness of the firstlist of product units; and wherein generating the restocking prompt forthe first inventory structure comprises generating the restocking promptfor the first inventory structure based on first list of product unitsresponsive to the high confidence score completeness of the first listof product units.
 10. A method for tracking stock level within a storecomprises: at a robotic system, over a first time period: navigatingalong a first inventory structure in the store; broadcasting radiofrequency interrogation signals; recording a first set of wirelessidentification signals returned by radio frequency identification tagscoupled to product units located on the first inventory structure; andrecording an optical image of the first inventory structure; identifyinga first group of product units, of a first product type, clusteredproximal a first location on the first inventory structure based on thefirst set of wireless identification signals; in the optical image,detecting a first shelf tag proximal the first location on the firstinventory structure; extracting a first value, depicted on the firstshelf tag, from the optical image; in response to the first valuediffering from a target value assigned to the first product type,generating a first prompt to verify the first shelf tag; and in responseto a first quantity of product units in the first group of product unitsdiffering from a target quantity of product units of the first producttype assigned to the first inventory structure, generating a secondprompt to restock the first product type on the first inventorystructure.
 11. The method of claim 10, wherein identifying the firstgroup of product units, of the first product type, clustered proximalthe first location on the first inventory structure comprises:identifying a first list of product units located on the first inventorystructure based on the first set of wireless identification signals;identifying product types of the first list of product units based onthe first set of wireless identification signals; approximatinglocations of product units, in the first list of product units, locatedon the first inventory structure based on characteristics of the firstset of wireless identification signals; and defining the first group ofproduct units, in the first list of product units, corresponding to thefirst product type.
 12. The method of claim 10: wherein extracting thefirst value, depicted on the first shelf tag, from the optical imagecomprises extracting the first value comprising a first price from aregion of the optical image depicting the first shelf tag; and whereingenerating the first prompt to verify the first shelf tag comprises:retrieving the target value, comprising a target price assigned to thefirst product type, from an electronic database; in response to thefirst price differing from the target price, generating the first promptto replace the first shelf tag.
 13. The method of claim 10: whereinidentifying the first group of product units comprises identifying thefirst group of product units, of the first product type, arranged on afirst shelf of the first inventory structure based on the first set ofwireless identification signals; wherein detecting the first shelf tagin the optical image comprises detecting the first shelf tag on thefirst shelf of the first inventory structure; and further comprisinglinking the first shelf tag to the first cluster of product units basedon presence of the first shelf tag and the first cluster of productunits on the first shelf of the inventory structure.
 14. The method ofclaim 13: wherein identifying the first group of product units comprisesidentifying the first group of product units of the first product typeassigned the target value comprising a target stock keeping unit value;wherein extracting the first value, depicted on the first shelf tag,from the optical image comprises extracting the first value comprising afirst stock keeping unit value from a region of the optical imagedepicting the first shelf tag; and wherein generating the first promptto verify the first shelf tag comprises, in response to the first stockkeeping unit's value differing from the target stock keeping unit value,generating the first prompt to verify alignment of the first shelf tagand the first group of product units located on the first inventorystructure.
 15. The method of claim 10: wherein identifying the firstgroup of product units comprises identifying the first group of productunits as the first product type corresponding to a target stock keepingunit value; and further comprising: extracting a first stock keepingunit value from a region of the optical image depicting the first shelftag; and linking the first shelf tag to the first cluster of productunits in response to the first stock keeping unit value matching thetarget stock keeping unit value.
 16. A method for tracking stock levelwithin a store comprises: at a robotic system, over a first time period:navigating along a first inventory structure in the store; broadcastingradio frequency interrogation signals; and recording a first set ofwireless identification signals returned by radio frequencyidentification tags coupled to product units proximal the firstinventory structure; identifying a first list of product units proximalthe first inventory structure based on the first set of wirelessidentification signals; retrieving a target quantity of product unitsassigned to the first inventory structure; in response to a firstquantity of product units identified in the first list of product unitsfalling below the target quantity of product units by more than athreshold difference, flagging the first inventory structure forinsufficient scanning; at the robotic system, over a second time period:navigating along the first inventory structure; broadcasting radiofrequency interrogation signals; and recording a second set of wirelessidentification signals returned by radio frequency identification tagscoupled to product units proximal the first inventory structure;identifying a second list of product units proximal the first inventorystructure based on the second set of wireless identification signals; inresponse to a second quantity of product units on the second list ofproduct units falling within the threshold difference of the targetquantity of product units, calculating a stock state of the firstinventory structure during the second time period based on the secondlist of product units.
 17. The method of claim 16, further comprisingselecting the threshold difference from the set comprising: a firstpercentage during a low-traffic period; and a second percentage, greaterthan the first percentage, during a high-traffic hour.
 18. The method ofclaim 16: wherein navigating along the first inventory structure,broadcasting radio frequency interrogation signals, and recording thefirst set of wireless identification signals during the first timeperiod comprises navigating along the first inventory structure,broadcasting radio frequency interrogation signals, and recording thefirst set of wireless identification signals during the first timeperiod within a first scan cycle; and wherein navigating along the firstinventory structure, broadcasting radio frequency interrogation signals,and recording the second set of wireless identification signals duringthe second time period comprises navigating along the first inventorystructure, broadcasting radio frequency interrogation signals, andrecording the second set of wireless identification signals during thesecond time period, succeeding the first time period, within the firstscan cycle.
 19. The method of claim 16, further comprising: for eachproduct unit in the second list of product units: calculating a locationof the product unit within the store based on: characteristics of afirst instance of a wireless identification signal received from a radiofrequency identification tag, coupled to the product unit, by the firstthe robotic system when occupying a first position adjacent the firstinventory structure during the second time period; and characteristicsof a second instance of the wireless identification signal received bythe first the robotic system when occupying a second position adjacentthe first inventory structure during the second time period; anddetecting presence of the product unit on the first inventory structurein response to the location of the product unit intersecting a knownvolume of the first inventory structure within the store; and detectinga product quantity difference between the second list of product unitsand a target stock list assigned to the first inventory structure; andin response to detecting the product quantity difference, generating arestocking prompt for the first inventory structure.
 20. The method ofclaim 16, further comprising: at the robotic system, recording anoptical image of the first inventory structure during the second timeperiod; identifying a first group of product units, of a first producttype, clustered proximal a first location on the first inventorystructure based on the second set of wireless identification signals; inthe optical image, detecting a first shelf tag proximal the firstlocation on the first inventory structure; extracting a first value,depicted on the first shelf tag, from the optical image; in response tothe first value differing from a target value assigned to the firstproduct type, generating a first prompt to verify the first shelf tag;and in response to a first quantity of product units in the first groupof product units differing from a target quantity of product units ofthe first product type assigned to the first inventory structure,generating a second prompt to restock the first product type on thefirst inventory structure.